home *** CD-ROM | disk | FTP | other *** search
/ X User Tools / X User Tools (O'Reilly and Associates)(1994).ISO / sun4c / archive / tcltk.z / tcltk / man / cat3 / RestrictEv.3 < prev    next >
Text File  |  1994-09-20  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. Tk_RestrictEvents(3)  Tk Library Procedures
  5.  
  6.  
  7.  
  8. _________________________________________________________________
  9.  
  10. NAME
  11.      Tk_RestrictEvents - filter and selectively delay X events
  12.  
  13. SYNOPSIS
  14.      #include <tk.h>
  15.  
  16.      Tk_RestrictProc *
  17.      Tk_RestrictEvents(_p_r_o_c, _a_r_g, _p_r_e_v_A_r_g_P_t_r)
  18.  
  19. ARGUMENTS
  20.      Tk_RestrictProc   *_p_r_o_c          (in)      Predicate    pro-
  21.                                                 cedure to call to
  22.                                                 filter incoming X
  23.                                                 events.      NULL
  24.                                                 means do not res-
  25.                                                 trict  events  at
  26.                                                 all.
  27.  
  28.      char              *_a_r_g           (in)      Arbitrary   argu-
  29.                                                 ment  to  pass to
  30.                                                 _p_r_o_c.
  31.  
  32.      char              **_p_r_e_v_A_r_g_P_t_r   (in/out)  Pointer to  place
  33.                                                 to  save argument
  34.                                                 to previous  res-
  35.                                                 trict procedure.
  36. _________________________________________________________________
  37.  
  38.  
  39. DESCRIPTION
  40.      This procedure is useful in certain situations where  appli-
  41.      cations  are  only  prepared  to  receive  certain X events.
  42.      After Tk_RestrictEvents is called, Tk_DoOneEvent (and  hence
  43.      Tk_MainLoop)  will filter X input events through _p_r_o_c.  _P_r_o_c
  44.      indicates whether a given event is to be  processed  immedi-
  45.      ately or deferred until some later time (e.g. when the event
  46.      restriction is lifted).  _P_r_o_c is a standard X predicate pro-
  47.      cedure,  of  the sort passed to XCheckIfEvent.  It must have
  48.      arguments and result that match the type Tk_RestrictProc:
  49.           typedef Bool Tk_RestrictProc(
  50.                Display *_d_i_s_p_l_a_y,
  51.                XEvent *_e_v_e_n_t_P_t_r,
  52.                char *_a_r_g);
  53.      The _d_i_s_p_l_a_y argument to  _p_r_o_c  is  the  display  from  which
  54.      _e_v_e_n_t_P_t_r was received, and _e_v_e_n_t_P_t_r points to an event under
  55.      consideration.  The _a_r_g argument is a copy of the _a_r_g passed
  56.      to  Tk_RestrictEvents;   it may be used to provide _p_r_o_c with
  57.      information it needs to filter  events.   _P_r_o_c  must  return
  58.      True  or  False.   True  means the event should be processed
  59.      immediately  and  False  means  the  event  should  not   be
  60.  
  61.  
  62.  
  63. Tk                                                              1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. Tk_RestrictEvents(3)  Tk Library Procedures
  71.  
  72.  
  73.  
  74.      processed now, but should be saved for some later time.
  75.  
  76.      Tk_RestrictEvents uses its return value  and  _p_r_e_v_A_r_g_P_t_r  to
  77.      return  information about the current event restriction pro-
  78.      cedure (a NULL return value means  there  are  currently  no
  79.      restrictions).  These values may be used to restore the pre-
  80.      vious restriction state when there is no longer any need for
  81.      the current restriction.
  82.  
  83.      There are very few places where Tk_RestrictEvents is needed.
  84.      Please  use  it  only  where it is absolutely necessary.  If
  85.      only a local restriction  is  needed,  it  can  probably  be
  86.      achieved  more  cleanly by changing event-to-Tcl bindings or
  87.      by calling Tk_DeleteEventHandler.
  88.  
  89.  
  90. KEYWORDS
  91.      delay, event, filter, restriction
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129. Tk                                                              2
  130.  
  131.  
  132.  
  133.